cpupower: Fix checks for CPU existence
authorBen Hutchings <ben@decadent.org.uk>
Thu, 3 Nov 2016 21:25:26 +0000 (15:25 -0600)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 28 Jan 2017 16:11:16 +0000 (16:11 +0000)
commitfcb4bfd2de2dfca5a6969818401e0b8cce61ded6
tree60f09e383ef6626b545551963ad022af95db928a
parenta3e0570de12c12b6a6ff1d3d40bea781d06034c8
cpupower: Fix checks for CPU existence

Calls to cpufreq_cpu_exists(cpu) were converted to
cpupower_is_cpu_online(cpu) when libcpupower was introduced and the
former function was deleted.  However, cpupower_is_cpu_online()
returns 1 on success whereas cpufreq_cpu_exists() returned 0 on
success.  It also does not distinguish physically absent and offline
CPUs, and does not set errno.

cpufreq-set has already been fixed (commit c25badc9ceb6).

In cpufreq-bench, which prints an error message for offline CPUs,
properly distinguish and report the zero and negative cases.

Reported-by: Jose <jjorge@free.fr>
Reported-by: Julien RIVAUD <frnchfrgg@free.fr>
Cc: stable <stable@vger.kernel.org> # 4.7+
Fixes: ac5a181d065d ("cpupower: Add cpuidle parts into library")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name cpupower-fix-checks-for-cpu-existence.patch
tools/power/cpupower/bench/system.c